The exponential growth of the Internet has made it a ubiquitous delivery medium for a variety of applications. Such applications, in turn, have brought with them an increasing demand for bandwidth. As a result, service providers race to build larger and faster data centers with versatile capabilities. Meanwhile, advances in virtualization technologies have made it possible to implement a large number of virtual machines (VMs) in a data center. These virtual machines can essentially operate as physical hosts and perform a variety of functions such as Web or database servers. Because virtual machines are implemented in software, they can freely migrate to various locations. This capability allows service providers to partition and isolate physical resources (e.g., computing power and network capacity) according to customer needs, and to allocate such resources dynamically.
While virtualization brings unprecedented flexibility to service providers, the conventional network architectures, tends to be rigid and cannot readily accommodate the dynamic nature of virtual machines. For example, in conventional virtualization environments, a large number of virtual machines are often dynamically cloned from a single virtual machine (or “the parent virtual machine”). Typically, a respective cloned virtual machine acquires the characteristics of the network adapter (e.g., a virtual network interface card (V-NIC)) of the parent virtual machine. However, some network configurations, such as the layer-2 address (i.e., the physical address) of the network adapter of the parent virtual machine, are not suitable for direct cloning. Consequently, during the cloning process, a respective network adapter of a respective cloned virtual machine is assigned a new layer-2 address, which is usually unique within the virtualization environment.
However, the physical reach of a logical layer-2 broadcast domain (e.g., a virtual local area network (VLAN)) is limited by the transmission medium. Especially for a virtual machine to communicate outside of its broadcast domain (e.g., for providing access to the virtual machine from a remote machine), such communication would need to be carried over layer-3 networks. That is, the packets between the source and destination have to be processed and forwarded by layer-3 devices (e.g., Internet Protocol (IP) routers), since the source and destination can belong to different layer-2 broadcast domains. Consequently, a respective network adapter of a respective cloned virtual machine may require an IP address for facilitating such communication. Well-known mechanisms, such as Dynamic Host Configuration Protocol (DHCP), are typically used for providing IP addresses to virtual machines within a layer-2 broadcast domain. If the network adapters of a large number of cloned virtual machines are associated with the same sub-network (subnet) of the parent virtual machine, these adapters compete for the limited number of IP addresses of the subnet. Hence, configuring separate broadcast domains and corresponding IP addresses for the cloned virtual machines presents a unique challenge.
Existing implementations of virtual machine cloning, however, cannot easily accommodate logical layer-2 broadcast domains and corresponding subnets for a large number of virtual machines cloned from the same parent virtual machine. This is because by default the network adapter of the parent virtual machine is assigned a network identifier through a management interface. This network identifier provides network configurations for the adapter. Such configurations include a logical layer-2 broadcast domain for the adapter and a corresponding subnet. With existing technologies, a respective cloned virtual machine receives the network identifier of the parent virtual machine and, in turn, the logical layer-2 broadcast domain associated with the network identifier and the corresponding subnet configuration.